package com.byl.modules.core.dao;

import com.byl.sdk.utils.PageMap;
import org.apache.ibatis.annotations.Mapper;
import org.hibernate.validator.internal.util.StringHelper;

import java.util.List;
import java.util.Map;

@Mapper
public interface PartnerDao {

    /**
     * 保存合伙人
     *
     * @param map
     * @return [java.util.Map]
     **/

    int save(Map map);

    /**
     * 根据邀请码查询合伙人信息
     *
     * @param inviteCode
     * @return [java.lang.String]
     **/

    Map queryPartnerByInviteCode(String inviteCode);

    /**
     * 验证邀请码是否存在
     *
     * @param inviteCode
     * @return 0 代表不存在
     **/

    int validateInviteCode(String inviteCode);

    /**
     * 获取当前编码的最大子码
     *
     * @param coding
     * @return [java.lang.String]
     **/

    String queryMaxChildInviteCode(String coding);

    /**
     * 合伙人列表
     *
     * @param pageMap
     * @return [com.byl.sdk.utils.PageMap]
     **/

    List<Map> query(PageMap pageMap);

    /**
     * 总记录数
     *
     * @param pageMap
     * @return [com.byl.sdk.utils.PageMap]
     **/

    int queryCount(PageMap pageMap);

    /**
     * 审核
     *
     * @param map
     * @return
     */
    int audit(Map map);

    /**
     * 统计合伙人数量
     *
     * @return []
     **/
    Map statistics();

    /**
     * 修改合伙人类型
     *
     * @param map
     * @return [java.util.Map]
     **/
    int updatetype(Map map);
}
